Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Ruby vs Python



  Vim: revisited

I’ve had an off/on relationship with Vim for the past many years. Before, I never felt like we understood each other properly. Vim is almost useless without plugins and some essential settings in .vimrc, but fiddling with all the knobs and installing all the plugins that I thought I needed was a process that in the end stretched out from few hours to weeks, months even; and it the end it just caused frustration instead of making me a happier coder. Recently, I decided to give Vim ano...

   Linux,Editor,Vim,Setup,Quick guideline     2011-12-12 07:55:27

  Asynchronous UIs - the future of web user interfaces

It's an interesting time to be working on the frontend now. We have new technologies such as HTML5, CSS3, Canvas and WebGL; all of which greatly increase the possibilities for web application development. The world is our oyster!However, there's also another trend I've noticed. Web developers are still stuck in the request/response mindset. I call it the 'click and wait' approach - where every UI interaction results in a delay before another interaction can be performed. That's the process they'...

   AJAX,Asynchronous UI,AUI,User interface     2011-11-18 08:55:08

  Build your own internet search engine - Part 2

After having started to build my own internet search engine as described in a previous blog post, I now have read some papers and books about web search engine architecture and information retrieval to complete my hobby project. Here is a list of papers and books that I highly recommend to anybody who is interested in this topic: 1. Google: data structures and algorithms by Petteri Huuhka 2. The Anatomy of a Large-Scale Hypertextual Web Search Engine by the Google founde...

   Search engine,Paper,Database,Data structure     2011-12-22 08:25:59

  Why Emacs?

PreludeIf you are a professional writer – i.e., if someone else is getting paid to worry about how your words are formatted and printed – Emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.Neal StephensonIn the Beginning … Was the Command LineI’m an Emacs user and I’m proud of the fact. I know my reasons for using it (and loving i...

   Emacs,Linux,IDE,Editor,Usage     2011-11-21 10:22:05

  The Wasteful Legacy of Programming as Language

A few years ago I visited a friend who is a graduate student in linguistics. After some time he asked me if I was aware of the work by Chomsky on formal languages. I told him that yes, Chomsky work was a basis for much of the developments in theoretical computer science. More than that, I was glad to learn that there was something technical that I could share and discuss with other people in linguistics. At the time I found this was just a great coincidence. It was only recently, though, t...

   Programming language,Human language,Chomsky     2011-11-28 10:36:34

  Obviously Correct

What do automatic memory management, static types and purity have in common? They are methods which take advantage of the fact that we can make programs obviously correct (for some partial definition of correctness) upon visual inspection. Code using automatic memory management is obviously correct for a class of memory bugs. Code using static types is obviously correct for a class of type bugs. Code using purity (no mutable references or side effects) isobviously c...

   Memory management,Code,Static,Purity     2011-11-07 08:13:05

  A Solution to CPU-intensive Tasks in IO Loops

Back in October 2011, Ted Dziuba infamously said that Node.js is Cancer.  A provocative title to a provocative article.  The only thing it didn’t really provoke in the commentary was much thought ;)  Zing. My interpretation of the article is that Ted holds up the classic blocking-IO process-per-request (or  thread per request; same difference) model as superior.  Yet we all remember where the blocking-IO forking model got Apache in the early days.  ...

   CPU,Intensive IO loops,Solution,C++     2012-02-06 07:42:40

  Why I Still Use Emacs

At school, I’m known as the Emacs guy; when people have questions about configuring Emacs or making it work a certain way, they often come and ask me. Sometimes, some people ask me why use Emacs at all? Isn’t it a really old editor and aren’t Eclipse or Visual Studio much better? I mean, they don’t have weird key bindings and have intellisense, that’s surely better for a programmer, right? I will attempt in this post to explain some of the reasons why I still c...

   Linux,Emacs,Editor,Advantage,IDE     2012-02-20 05:30:41

  API Design is UI for Developers

I’ve been thinking a lot about APIs and their design recently.I stumbled on this fantastic quote from Greg Parker: A programming language is a user interface for developers. Language authors should learn from HCI principles.22/02/2012 19:10 via webReplyRetweetFavorite@gparkerGreg ParkerWhen I first started learning C++ (back in the bad old days) I was convinced that any 1st year student could design a better programming language. One which behaved in a sane fashion without a lot of le...

   API design,UI,developers,PHP     2012-03-11 13:21:43

  How I Learned to Program Computers

I’ve been asked this question a lot lately, especially after I built YouTube Instant. So, here’s the answer, once and for all, for those who are interested.In short:I learned how to program by building lots of websites.The full story:I learned how to program by working on lots of different website projects starting from a pretty young age. What follows is a full account of all the major websites I’ve built, back to the very first site I made when I was 11 years old. Wha...

   Programming,Computer,Tips,Feross Aboukhadijeh     2011-10-17 10:25:32